// const {baseController} = require('../../baseController')
// const {companyService} = require('../../../service/impl/company_service/company_service')
// const { result } = require('../../../util/result/result')
// const { company_bean } = require('../../../beans/impl/company_bean/company_bean')

// const {userService} = require('../../../service/impl/userService/userService')
// const {userRolesService} = require('../../../service/impl/userRolesService/index')



// class company_controller {
//     static sigleIns = new company_controller()

//     static getSigleIns =()=>{
//         if(this.sigleIns){
//             return this.sigleIns
//         }else{
//             return new company_controller()
//         }
//     }

//     constructor(){
//         this.service =  companyService.getIns()
//     }

//     async create(req,res){
//         let cc = new  company_bean()
//         cc.publisherID = req.body.publisherID
//         cc.company_name = req.body.company_name
//         cc.company_desc = req.body.company_desc
//         cc.company_detail_postion = req.body.company_detail_postion
//         cc.store_src = req.file.path
//         cc.is_checked = 3

  
// // 
    
//         let data 
//         try {
//             data =  await  this.service.create(cc)
//             // 修改用户身份
//            let dd = new  userService().findByObjAndUpdate({'_id':cc.publisherID},{'rolenum':4},{"upsert":true})
//         } catch (error) {
//             console.log(error);
//             res.send(result(false,error))
//             return
//         }
//         if(data==undefined){
//             res.send(result(false))
//         }else{
//             res.send(result(true,data))
//         }

//     }

//     async findByIdAndRemove(req,res){
//         let data  
//         try {
//             data =  await  this.service.findByIdAndRemove(req.body)
//         } catch (error) {
//             // res.send(result(false,error))
//         }

//         if(data==undefined){
//             res.send(result(false))
//         }else{
//             res.send(result(true,data))
//         }
//     }

//     async findByIdAndUpdate(req,res){
//         let data  
//         let id = req.body.id
//         let updateContent =req.body.updateContent
//         try {
//             data =  await  this.service.findByIdAndUpdate(id,updateContent)
//         } catch (error) {
//             console.log(error);
//             // res.send(result(false,error))
//         }

//         if(data&&data!=undefined){
//             res.send(result(true,data))
//          }else{
//             res.send(result(false))
//          }

//     }

//     // 设为审核,并且把发布者设置为超级管理员
//     async findByIdAndUpdateAndAddsuperManager(req,res){
//         let data  
//         let companyID = req.body.id
//         let publisherID =  req.body.publisherID
//         let updateContent =req.body.updateContent
//         try {
//             data =  await  this.service.findByIdAndUpdate(companyID,updateContent)
//             // 设置发布者为超级管理员 - 公司表
//             await this.service.findByObjAndUpdateArray({"_id":companyID},{
//                 "auth_userID":{
//                     "auth_userID":publisherID,
//                     "auth_role":"6565cf18c0a5e82e98370005"
//                 }
//             }
//             )
//             /* 
// 	userID:{type:Schema.Types.ObjectId,ref: 'users'},
// 	// 用户的应用内权限
// 	user_auths:[
// 		{
// 			auth_ref:{type:Schema.Types.ObjectId,ref: 'auth'},
// 			auth_enable : Boolean
// 		}
// 	],
// 	// 应用角色
// 	user_app_roles:[
// 		{
// 			roleID:{type:Schema.Types.ObjectId,ref: 'role'},
// 		}
// 	],
// 	// 公司角色
// 	role:[
// 		{
// 			companyID:{type:Schema.Types.ObjectId,ref: 'company'},
// 			roleID:{type:Schema.Types.ObjectId,ref: 'role'}
// 		}
// 	]
//             */
//             // 把超级管理员信息,添加到用户角色表中
//             await userRolesService.getIns().findByObjAndUpdateArray(
//                 {
//                     "userID":publisherID
//                 },
                
//                 {
//                     "user_auths":{
//                         "auth_ref":"6566fee1bf3dfe3e685fdcc8",
// 			            "auth_enable":true
//                     },
//                     "role":{
//                         "companyID":companyID,
//                         "roleID":"6567006c23ea6d50b064ae4d"
//                     }
//                 },
//                 {"upsert":true,"setDefaultsOnInsert":true}
//             )
            

//         } catch (error) {
//             console.log(error);
//         }

//         if(data&&data!=undefined){
//             res.send(result(true,data))
//          }else{
//             res.send(result(false))
//          }

//     }

//     async queryAll(req,res){
//         let data  
//         try {
//             data =  await  this.service.queryAll('publisherID')
//         } catch (error) {
//                 console.log(error)
//             return 
//         }
//         if(data&&data!=undefined){
//             res.send(result(true,data))
//          }else{
//             res.send(result(false))
//          }
//     }


//     // andPopulate
//     /* 
//    {
//     obj:{id:'ffds43434'},
//     param1:'userid',
//     param2:'professionid'
//    }
    
//     */
//    async  findByObj(req,res){
//     let data 
//     let obj = req.body.obj
//     let param1 = req.body.param1
//     let param2 = req.body.param2


//     try {
//         data =  await  this.service.findAndPopulate(obj,param1,param2)
//     } catch (error) {
//         res.send(result(false,error))
//         return
//     }
//     if(data&&data!=undefined){
//         res.send(result(true,data))
//      }else{
//         res.send(result(false))
//      }
//    }

//    /* 
//    入参:
//    id,查找的id
//    param1,填充的key
//    param2,填充的key
//    示例
//    {
//     id:'dsdasda13',
//     param1:'user',
//     param2:'profession'
//    }
//    */
//    async findByIdAndPopulate (req,res){
//     let data
//     let id = req.body.id
//     let param1 = req.body.param1
//     let param2 = req.body.param2
//     try {
//         data =  await  this.service.findByIdAndPopulate(id,param1,param2)
//     } catch (error) {
//         res.send(result(false,error))
//         return
//     }
//     if(data&&data!=undefined){
//         res.send(result(true,data))
//      }else{
//         res.send(result(false))
//      }
//    }



//    /* 
//    入参:
//    req.body:{
//        obj:{username:123},
//        update_content:{
         
//        }
//    }
//    */
//    async findByObjAndUpdate (req,res){
//     let data
//     // 没有则创建,有则更新
//     let options = {"upsert":true}


//     try {
//         data =  await  this.service.findByObjAndUpdate(req.body.obj,req.body.update_content,options)
//     } catch (error) {
//         res.send(result(false,error))
//         return
//     }
//     if(data&&data!=undefined){
//         res.send(result(true,data))
//      }else{
//         res.send(result(false))
//      }
//    }
// }

// module.exports={
//     company_controller
// }